IF exists(SELECT * FROM dbo.sysobjects WHERE name='fr_XMLalleVakken' AND xtype='P') 
BEGIN
	DROP PROCEDURE fr_XMLalleVakken
END
GO

CREATE   procedure fr_XMLalleVakken(
	@versie float,
	@aard char(1),@periode char(2),
	@inschrijvingsNr char(7),@groepsnaam varchar(20),
	@hoofdNr int, @test bit)
as
-----------------------------------------------------------
--  Alle vakken die gegeven worden aan de leerling worden 
--  opgenomen in het XML-bestand.
-----------------------------------------------------------

set nocount on
if (@test=1)
begin
  insert into fr_tussen(versie,hoofdNr,tussenNr,volgNr,tekst)
  values(@versie,@hoofdNr,'0','0','<vakken>')

  insert into fr_tussen(versie,hoofdNr,tussenNr,volgNr,tekst)
  select distinct @versie,@hoofdNr,'ne','0','<ne volgNr="1" blokNr="2" blokaard="alg">' 
		+ '<uren>2</uren>'
		+ '<leraar>nederlandsleraar</leraar>'
		+ '<naam>Nederlands</naam>'

  insert into fr_tussen(versie,hoofdNr,tussenNr,volgNr,tekst)
  select distinct @versie,@hoofdNr,'wi','0','<wi volgNr="1" blokNr="2" blokaard="alg">' 
		+ '<uren>5</uren>'
		+ '<leraar>wiskundeleraar</leraar>'
		+ '<naam>wiskunde</naam>'

  insert into fr_tussen(versie,hoofdNr,tussenNr,volgNr,tekst)
  select distinct @versie,@hoofdNr,'ne','1','<' + code + '>99</' + code + '>' 
	from  fr_individueleRekenwijze as i
  	  where i.periode = @periode
  		and i.aard = @aard
    		  and i.groepsnaam = @groepsnaam
		    and i.vak='ne'

  insert into fr_tussen(versie,hoofdNr,tussenNr,volgNr,tekst)
  select distinct @versie,@hoofdNr,'wi','1','<' + code + '>88</' + code + '>' 
	from  fr_individueleRekenwijze as i
  	  where i.periode = @periode
  		and i.aard = @aard
    		  and i.groepsnaam = @groepsnaam
		    and i.vak='wi'

  insert into fr_tussen(versie,hoofdNr,tussenNr,volgNr,tekst)
  select distinct @versie,@hoofdNr,'ne','1','<' + code + 'gem>77</' + code + 'gem>' 
	from  fr_individueleRekenwijze as i
  	  where i.periode = @periode
  		and i.aard = @aard
    		  and i.groepsnaam = @groepsnaam
		    and i.vak='ne'

  insert into fr_tussen(versie,hoofdNr,tussenNr,volgNr,tekst)
  select distinct @versie,@hoofdNr,'wi','1','<' + code + 'gem>66</' + code + 'gem>' 
	from  fr_individueleRekenwijze as i
  	  where i.periode = @periode
  		and i.aard = @aard
    		  and i.groepsnaam = @groepsnaam
		    and i.vak='wi'


  insert into fr_tussen(versie,hoofdNr,tussenNr,volgNr,tekst)
  values(@versie,@hoofdNr,'ne','9','</ne>')

  insert into fr_tussen(versie,hoofdNr,tussenNr,volgNr,tekst)
  values(@versie,@hoofdNr,'wi','9','</wi>')

  insert into fr_tussen(versie,hoofdNr,tussenNr,volgNr,tekst)
  values(@versie,@hoofdNr,'ZZZ','0','</vakken>')
end
else
begin
  insert into fr_tussen(versie,hoofdNr,tussenNr,volgNr,tekst)
  values(@versie,@hoofdNr,'0','0','<vakken>')

  declare @vakken table(vak varchar(20),	
		  volgNr varchar(20),
		  blokNr varchar(20),
		  blokAard varchar(20),	
		  uren varchar(20),
		  leraar varchar(100),
		  vaknaam varchar(100))
  insert into @vakken(vak,volgNr,blokNr,blokaard,uren,leraar,vakNaam)
  select vakcode,volgNummer,blokNr,blokaard,uren,volleNaam,vakNaam
    from hulpIndividueleLeraarsVakcodes(@inschrijvingsNr)

  insert into fr_tussen(versie,hoofdNr,tussenNr,volgNr,tekst)
    select @versie,@hoofdNr,vak,'0','<' + vak + ' volgNr="' + isNull(volgNr,'') + '" blokNr="' 
		+ isNull(blokNr,'') + '" blokaard="' + isNull(blokaard,'') + '">' 
		+ '<uren>' + isNull(uren,'') + '</uren>' 
		+ '<leraar>' + isNull(leraar,'') + '</leraar>'
		+ '<naam>' + isNull(vakNaam,'') + '</naam>'
    from @vakken

  insert into fr_tussen(versie,hoofdNr,tussenNr,volgNr,tekst)
  select @versie,@hoofdNr,v.vak,'1','<' + i.code + '>' + i.cijfer + '</' + i.code + '>' 
    from @vakken as v
    left join fr_individueleCijfers as i
      on v.vak = i.vak
        where i.periode = @periode
          and i.aard = @aard
            and i.inschrijvingsNr = @inschrijvingsNr

  insert into fr_tussen(versie,hoofdNr,tussenNr,volgNr,tekst)
  select @versie,@hoofdNr,v.vak,'2','<' + i.code + 'gem>' + i.cijfer + '</' + i.code + 'gem>' 
    from @vakken as v
    left join fr_collectieveCijfers as i
      on v.vak = i.vak
        where i.periode = @periode
          and i.aard = @aard
            and i.inschrijvingsNr = @inschrijvingsNr

  insert into fr_tussen(versie,hoofdNr,tussenNr,volgNr,tekst)
  select @versie,@hoofdNr,vak,'9','</' + vak + '>'
    from @vakken

  insert into fr_tussen(versie,hoofdNr,tussenNr,volgNr,tekst)
  values(@versie,@hoofdNr,'ZZZ','0','</vakken>')
end